#include "GuiManagerWrapper.h"

#include <odv/odvCore/Viewer.h>
#include <odv/odvCore/GuiManager.h>

#include <filesystem>

// 导入Qt相关头文件
#pragma push_macro("slots")
#pragma push_macro("signals")
#undef slots
#undef signals
#include <QWidget>
#include <odv/odvGUI/QtGuiManager.h>
#pragma pop_macro("slots")
#pragma pop_macro("signals")
// 导入Qt相关头文件


void bind_GuiManager_ColorBarPosition(py::module_ &m) {
    // py::enum_<odv::GuiManager::ColorBarPosition>(m, "ColorBarPosition")
    //     .value("TopCenter", odv::GuiManager::ColorBarPosition::TopCenter)
    //     .value("CenterLeft", odv::GuiManager::ColorBarPosition::CenterLeft)
    //     .value("CenterRight", odv::GuiManager::ColorBarPosition::CenterRight)
    //     .value("BottomCenter", odv::GuiManager::ColorBarPosition::BottomCenter)
    //     .export_values();
}

void bind_GuiManager(py::module_ &m) {
    // py::class_<odv::GuiManager, std::shared_ptr<odv::GuiManager>>(m, "GuiManager")
    //     .def("setUpManager", &odv::GuiManager::setUpManager)
    //     .def("registerFont", &odv::GuiManager::registerFont)
    //     .def("addColorBar", &odv::GuiManager::addColorBar)
    //     .def("removeColorBar", &odv::GuiManager::removeColorBar)
    //     .def("updateColorBar", &odv::GuiManager::updateColorBar)
    //     .def("setColorBarVisible", &odv::GuiManager::setColorBarVisible)
    //     .def("setColorBarPosition", &odv::GuiManager::setColorBarPosition)
    //     .def("setAllColorBarsPositon", &odv::GuiManager::setAllColorBarsPositon)
    //     .def("setDefaultColorBarSize", &odv::GuiManager::setDefaultColorBarSize);
}

void bind_QtGuiManager(py::module_ &m) {
    // py::class_<odv::QtGuiManager, odv::GuiManager, std::shared_ptr<odv::QtGuiManager>>(m, "QtGuiManager")
    //     .def(py::init<>())
    //     .def("attachWidget", &odv::QtGuiManager::attachWidget);
}